/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package picstore.web.camera;

import java.io.Serializable;
import javax.persistence.*;
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
/**
 *
 * @author Daniel
 */

@Entity
@Table(name= "picstore_cameras")
@SequenceGenerator(name="id_camera", sequenceName="picstore_cameras_seq")
public class Camera implements Serializable{
    @Id
    @Basic(optional =false)
    @GeneratedValue(generator="id_camera", strategy= GenerationType.AUTO)
    
    @Column(name = "id_camera")
	private Integer	id;    
    @Column(name="cam_nome")    
        private String nome;
    @Column(name="cam_categoria")
        private Integer categoria;
    
    @ManyToOne
    @OnDelete(action=OnDeleteAction.CASCADE)  
    @JoinColumn(name="cam_loja", nullable = false)
        private Integer loja;
    
    @ManyToOne
    @OnDelete(action=OnDeleteAction.CASCADE)
    @JoinColumn(name="cam_fabricante", nullable = false)
        private Integer fabricante;
    @Column(name="cam_tamanho")
        private Integer tamanho;
    @Column(name="cam_memoria")
        private Integer memoria;
    
    @ManyToOne
    @OnDelete(action=OnDeleteAction.CASCADE)
    @JoinColumn(name="cam_fornecedor", nullable = false)
        private Integer fornecedor;
    @Column(name="cam_tecnologia")
        private Integer tecnologia;
    @Column(name="cam_resolucao")
        private Integer resolucao;
    @Column(name="cam_descricao")
        private String descricao;
    

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Camera other = (Camera) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        if ((this.nome == null) ? (other.nome != null) : !this.nome.equals(other.nome)) {
            return false;
        }
        if (this.categoria != other.categoria && (this.categoria == null || !this.categoria.equals(other.categoria))) {
            return false;
        }
        if (this.loja != other.loja && (this.loja == null || !this.loja.equals(other.loja))) {
            return false;
        }
        if (this.fabricante != other.fabricante && (this.fabricante == null || !this.fabricante.equals(other.fabricante))) {
            return false;
        }
        if (this.tamanho != other.tamanho && (this.tamanho == null || !this.tamanho.equals(other.tamanho))) {
            return false;
        }
        if (this.memoria != other.memoria && (this.memoria == null || !this.memoria.equals(other.memoria))) {
            return false;
        }
        if (this.fornecedor != other.fornecedor && (this.fornecedor == null || !this.fornecedor.equals(other.fornecedor))) {
            return false;
        }
        if (this.tecnologia != other.tecnologia && (this.tecnologia == null || !this.tecnologia.equals(other.tecnologia))) {
            return false;
        }
        if (this.resolucao != other.resolucao && (this.resolucao == null || !this.resolucao.equals(other.resolucao))) {
            return false;
        }
        if ((this.descricao == null) ? (other.descricao != null) : !this.descricao.equals(other.descricao)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 71 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 71 * hash + (this.nome != null ? this.nome.hashCode() : 0);
        hash = 71 * hash + (this.categoria != null ? this.categoria.hashCode() : 0);
        hash = 71 * hash + (this.loja != null ? this.loja.hashCode() : 0);
        hash = 71 * hash + (this.fabricante != null ? this.fabricante.hashCode() : 0);
        hash = 71 * hash + (this.tamanho != null ? this.tamanho.hashCode() : 0);
        hash = 71 * hash + (this.memoria != null ? this.memoria.hashCode() : 0);
        hash = 71 * hash + (this.fornecedor != null ? this.fornecedor.hashCode() : 0);
        hash = 71 * hash + (this.tecnologia != null ? this.tecnologia.hashCode() : 0);
        hash = 71 * hash + (this.resolucao != null ? this.resolucao.hashCode() : 0);
        hash = 71 * hash + (this.descricao != null ? this.descricao.hashCode() : 0);
        return hash;
    }

    public Integer getCategoria() {
        return categoria;
    }

    public void setCategoria(Integer categoria) {
        this.categoria = categoria;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Integer getFabricante() {
        return fabricante;
    }

    public void setFabricante(Integer fabricante) {
        this.fabricante = fabricante;
    }

    public Integer getFornecedor() {
        return fornecedor;
    }

    public void setFornecedor(Integer fornecedor) {
        this.fornecedor = fornecedor;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getLoja() {
        return loja;
    }

    public void setLoja(Integer loja) {
        this.loja = loja;
    }

    public Integer getMemoria() {
        return memoria;
    }

    public void setMemoria(Integer memoria) {
        this.memoria = memoria;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Integer getResolucao() {
        return resolucao;
    }

    public void setResolucao(Integer resolucao) {
        this.resolucao = resolucao;
    }

    public Integer getTamanho() {
        return tamanho;
    }

    public void setTamanho(Integer tamanho) {
        this.tamanho = tamanho;
    }

    public Integer getTecnologia() {
        return tecnologia;
    }

    public void setTecnologia(Integer tecnologia) {
        this.tecnologia = tecnologia;
    }
    
    
        
    
}
